#pragma once

#include "Include.h"
#include "GomokuBoard.h"
#include "Threat.h"
#include "ThreatSpaceCoordinateGetters.h"

const int heuristicMax = INT_MAX;
const int heuristicMin = INT_MIN+1;

// Define Evaluation Function Type
typedef int (*EvaluationFunction)(GomokuBoard&, int);

const int unBoundRowWeight[] = {5,25,125,1000}; //wieghts for rows of peices that are open at both sides
const int boundRowWeight[] = {1,5,25,500}; //wieghts for rows of pieces that are blocked on one side

int SimpleHeuristic(GomokuBoard &_board, int _player);
int ThreatHeuristic(GomokuBoard &board, int player);